using System;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("TooltipZone")]
	public class TooltipZone : MonoBehaviour
	{
		public GameObject tooltipPrefab => method_3<GameObject>("tooltipPrefab");

		public Transform tooltipDisplayLocation => method_3<Transform>("tooltipDisplayLocation");

		public Transform touchTooltipLocation => method_3<Transform>("touchTooltipLocation");

		public GameObject targetObject => method_3<GameObject>("targetObject");

		public GameObject m_tooltip => method_3<GameObject>("m_tooltip");

		public TooltipZone(IntPtr address, string className)
			: base(address, className)
		{
		}

		public TooltipZone(IntPtr address)
			: this(address, "TooltipZone")
		{
		}

		public GameObject GetTooltipObject()
		{
			return method_14<GameObject>("GetTooltipObject", Array.Empty<object>());
		}

		public bool IsShowingTooltip()
		{
			return method_11<bool>("IsShowingTooltip", Array.Empty<object>());
		}

		public TooltipPanel ShowTooltip(string headline, string bodytext, float scale)
		{
			return method_15<TooltipPanel>("ShowTooltip", new Class276.Enum20[3]
			{
				Class276.Enum20.String,
				Class276.Enum20.String,
				Class276.Enum20.R4
			}, new object[3] { headline, bodytext, scale });
		}

		public TooltipPanel ShowTooltip(string headline, string bodytext, float scale, Vector3 localOffset)
		{
			return method_15<TooltipPanel>("ShowTooltip", new Class276.Enum20[4]
			{
				Class276.Enum20.String,
				Class276.Enum20.String,
				Class276.Enum20.R4,
				Class276.Enum20.ValueType
			}, new object[4] { headline, bodytext, scale, localOffset });
		}

		public void ShowGameplayTooltip(string headline, string bodytext)
		{
			method_9("ShowGameplayTooltip", new Class276.Enum20[2]
			{
				Class276.Enum20.String,
				Class276.Enum20.String
			}, headline, bodytext);
		}

		public void ShowGameplayTooltip(string headline, string bodytext, Vector3 localOffset)
		{
			method_9("ShowGameplayTooltip", new Class276.Enum20[3]
			{
				Class276.Enum20.String,
				Class276.Enum20.String,
				Class276.Enum20.ValueType
			}, headline, bodytext, localOffset);
		}

		public void ShowGameplayTooltipLarge(string headline, string bodytext)
		{
			method_9("ShowGameplayTooltipLarge", new Class276.Enum20[2]
			{
				Class276.Enum20.String,
				Class276.Enum20.String
			}, headline, bodytext);
		}

		public void ShowGameplayTooltipLarge(string headline, string bodytext, Vector3 localOffset)
		{
			method_9("ShowGameplayTooltipLarge", new Class276.Enum20[3]
			{
				Class276.Enum20.String,
				Class276.Enum20.String,
				Class276.Enum20.ValueType
			}, headline, bodytext, localOffset);
		}

		public void ShowBoxTooltip(string headline, string bodytext)
		{
			method_8("ShowBoxTooltip", headline, bodytext);
		}

		public TooltipPanel ShowLayerTooltip(string headline, string bodytext)
		{
			return method_15<TooltipPanel>("ShowLayerTooltip", new Class276.Enum20[2]
			{
				Class276.Enum20.String,
				Class276.Enum20.String
			}, new object[2] { headline, bodytext });
		}

		public TooltipPanel ShowLayerTooltip(string headline, string bodytext, float scale)
		{
			return method_15<TooltipPanel>("ShowLayerTooltip", new Class276.Enum20[3]
			{
				Class276.Enum20.String,
				Class276.Enum20.String,
				Class276.Enum20.R4
			}, new object[3] { headline, bodytext, scale });
		}

		public void ShowSocialTooltip(Component target, string headline, string bodytext, float scale, GameLayer layer)
		{
			method_9("ShowSocialTooltip", new Class276.Enum20[5]
			{
				Class276.Enum20.Class,
				Class276.Enum20.String,
				Class276.Enum20.String,
				Class276.Enum20.R4,
				Class276.Enum20.ValueType
			}, target, headline, bodytext, scale, layer);
		}

		public void ShowSocialTooltip(GameObject targetObject, string headline, string bodytext, float scale, GameLayer layer)
		{
			method_9("ShowSocialTooltip", new Class276.Enum20[5]
			{
				Class276.Enum20.Class,
				Class276.Enum20.String,
				Class276.Enum20.String,
				Class276.Enum20.R4,
				Class276.Enum20.ValueType
			}, targetObject, headline, bodytext, scale, layer);
		}

		public void AnchorTooltipTo(GameObject target, Anchor targetAnchorPoint, Anchor tooltipAnchorPoint)
		{
			method_8("AnchorTooltipTo", target, targetAnchorPoint, tooltipAnchorPoint);
		}

		public void HideTooltip()
		{
			method_8("HideTooltip");
		}
	}
}
